// 素数和（5分）
// 题目内容：

// 我们认为2是第一个素数，3是第二个素数，5是第三个素数，依次类推。

// 现在，给定两个整数n和m，0<n<=m<=200，你的程序要计算第n个素数到第m个素数之间所有的素数的和，包括第n个素数和第m个素数。

#include <stdio.h>
#include <math.h>

int isPrime(int n);
int main()
{
    int n, m, cnt = 0, sumN = 0;
    scanf("%d%d", &n, &m);
    for (int i = 2; ;i++)
    {
        if (isPrime(i))
        {
            cnt++;
            if (cnt >= n && cnt <= m)
            {
                sumN += i;
            }
        }
        if (cnt == m)
        {
            break;
        }
    }
    printf("%d", sumN);

    return 0;
}

int isPrime(int n)
{
    int k = 1, i;
    for (i = 2; i <= pow((double)(n), 0.5); i++)
    {
        if(n%i == 0)
        {
            k = 0;
            break;
        }
    }
    if (n == 1)
    {
        k = 0;
    }

    return k;
}
// 输入格式:

// 两个整数，第一个表示n，第二个表示m。

// 输出格式：

// 一个整数，表示第n个素数到第m个素数之间所有的素数的和，包括第n个素数和第m个素数。

// 输入样例：

// 2 4

// 输出样例：

// 15

// 时间限制：500ms内存限制：32000kb